#ifndef __NJGIS_NJDATACONFIGURATION_H__
#define __NJGIS_NJDATACONFIGURATION_H__

#include <string>
#include <vector>
#include <map>
#include "../include/INxDataConfiguration.h"

namespace NJGIS
{
	namespace SERVICE
	{
		typedef struct
		{
			const char* state;
			const char* event;
			const char* data;
			bool destoryed;
			bool requested;
			bool optional;
		}NjDataConfigItem;

		class NjDataConfiguration : public virtual INjDataConfiguration
		{
		public:
			~NjDataConfiguration();

			virtual int getCount();

			virtual int insertData( const char* state, const char* event, const char* dataid, bool destoryed = false, bool requested = false, bool optional = false);

			virtual int getData( int index, std::string &state, std::string &event, std::string &dataid, bool &destoryed );

			virtual const char* getDataID( const char* state, const char* event );

		private:
			std::vector<NjDataConfigItem> _items;
		};
	}
}

#endif